package com.denlaku.longan.core;

import com.denlaku.longan.vo.Tenant;
import com.denlaku.longan.vo.User;

import java.util.HashMap;
import java.util.Map;

/**
 * 请求上下文
 *
 * @author tianx
 */
public class RequestContext {
    private User user;

    private Tenant tenant;

    private Map<String, Object> headerMap;

    /**
     * 获取用户信息
     *
     * @return 用户信息
     */
    public User getUser() {
        return user;
    }

    /**
     * 设置用户信息
     *
     * @param user 用户信息
     */
    public void setUser(User user) {
        this.user = user;
    }

    public Tenant getTenant() {
        return tenant;
    }

    public void setTenant(Tenant tenant) {
        this.tenant = tenant;
    }

    /**
     * 获取请求头信息
     *
     * @return 请求头信息
     */
    public Map<String, Object> getHeaderMap() {
        return headerMap;
    }

    /**
     * 设置请求头信息
     *
     * @param headerMap 请求头信息
     */
    public void setHeaderMap(Map<String, Object> headerMap) {
        this.headerMap = headerMap;
    }

    /**
     * 设置请求头信息
     *
     * @param headerName 请求头名称
     * @param headerValue 请求头值
     */
    public void setHeader(String headerName, Object headerValue) {
        if (this.headerMap == null) {
            this.headerMap = new HashMap<>(16);
        }
        this.headerMap.put(headerName, headerValue);
    }

}
